return {
    { "dstein64/vim-startuptime" },
    {
        "rcarriga/nvim-notify",
        config = function()
            require("notify").setup({
                -- Animation style (see below for details)
                stages = "fade_in_slide_out",

                timeout = 1000,
                max_width = 80,

                background_colour = "Normal",

                icons = {
                    ERROR = "",
                    WARN = "",
                    INFO = "",
                    DEBUG = "",
                    TRACE = "✎",
                },
            })
        end,
    },
    {
        "Lokaltog/vim-easymotion",
        config = function()
            vim.keymap.set("n", "f", "<Plug>(easymotion-s)")
            vim.keymap.set("n", ";", "<Plug>(easymotion-next)")
            vim.keymap.set("n", ",", "<Plug>(easymotion-prev)")
        end,
    },
    { "kdurant/misc_mine" },
    {
        "RaafatTurki/hex.nvim",
        config = function()
            require("hex").setup()
        end,
    },

    {
        "akinsho/toggleterm.nvim",
        keys = { [[<c-\>]] },
        config = function()
            require("toggleterm").setup({
                hide_numbers = false, -- hide the number column in toggleterm buffers
                direction = "horizontal", -- 'vertical' | 'horizontal' | 'window' | 'float',
                open_mapping = [[<c-\>]],
                -- shell = 'powershell.exe'
                start_in_insert = false,
            })
        end,
    },
    -- {
    -- "nvzone/floaterm",
    -- dependencies = "nvzone/volt",
    -- opts = {},
    -- cmd = "FloatermToggle",
    -- },
    -- {
    -- "numToStr/Comment.nvim",
    -- config = function()
    -- require("Comment").setup({
    -- toggler = {
    -- line = "<space>em",
    -- block = "<space>em",
    -- },
    -- })
    -- local ft = require("Comment.ft")
    -- ft.c = "//%s"
    -- end,
    -- },
    {
        "preservim/nerdcommenter",
        config = function()
            vim.g.NERDSpaceDelims = 1
            vim.g.NERDCustomDelimiters =
                { c = { left = "//", right = "" }, xdc = { left = "#", right = "" }, ucf = { left = "#", right = "" } }
            vim.keymap.set("n", "<space>em", "<Plug>NERDCommenterToggle")
            vim.keymap.set("v", "<space>em", "<Plug>NERDCommenterToggle")
        end,
    },
    -- essential tools
    {
        "uga-rosa/ccc.nvim",
        cmd = { "CccPick", "CccHighlighterToggle" },
        keys = { "<space>dl" },
        config = function()
            vim.keymap.set("n", "<space>dl", ":CccPick<cr>", { desc = "CccPick" })
        end,
    },
    {
        "junegunn/vim-easy-align",
        cmd = { "EasyAlign" },
        keys = { "<space>ah", "<space>al" },
        config = function()
            vim.keymap.set(
                "n",
                "<space>ah",
                [[:%EasyAlign /^\s\{0,}\.[^(]*\zs(/ {'left_margin': 4, 'right_margin':2}<cr>]],
                { desc = "align left" }
            )
            vim.keymap.set(
                "n",
                "<space>al",
                [[:%EasyAlign /^\s\{0,}\.[^)]*\zs)/ {'left_margin': 4, 'right_margin':0}<cr>]],
                { desc = "align right" }
            )
        end,
    },

    {
        "hat0uma/csvview.nvim",
        config = function()
            require("csvview").setup()
        end,
    },
    {
        "chentoast/marks.nvim",
        event = "VeryLazy",
        opts = {},
    },
    {
        "alex-popov-tech/store.nvim",
        cmd = "Store",
        keys = {
            { "<space>st", "<cmd>Store<cr>", desc = "Open Plugin Store" },
        },
        opts = {
            -- optional configuration here
        },
    },
    {
        "saxon1964/neovim-tips",
        version = "*", -- Only update on tagged releases
        dependencies = {
            "MunifTanjim/nui.nvim",
            -- OPTIONAL: Choose your preferred markdown renderer (or omit for raw markdown)
            "MeanderingProgrammer/render-markdown.nvim", -- Clean rendering
            -- OR: "OXY2DEV/markview.nvim", -- Rich rendering with advanced features
        },
        opts = {
            -- OPTIONAL: Location of user defined tips (default value shown below)
            user_file = vim.fn.stdpath("config") .. "/neovim_tips/user_tips.md",
            -- OPTIONAL: Prefix for user tips to avoid conflicts (default: "[User] ")
            user_tip_prefix = "[User] ",
            -- OPTIONAL: Show warnings when user tips conflict with builtin (default: true)
            warn_on_conflicts = true,
            -- OPTIONAL: Daily tip mode (default: 1)
            -- 0 = off, 1 = once per day, 2 = every startup
            daily_tip = 1,
            -- OPTIONAL: Bookmark symbol (default: "🌟 ")
            bookmark_symbol = "🌟 ",
        },
        init = function()
            -- OPTIONAL: Change to your liking or drop completely
            -- The plugin does not provide default key mappings, only commands
            local map = vim.keymap.set
            map("n", "<space>dt", ":NeovimTipsRandom<CR>", { desc = "Show random tip", noremap = true, silent = true })
        end,
    },

    {
        "atiladefreitas/dooing",
        config = function()
            require("dooing").setup({
                -- your custom config here (optional)
                -- save_path = vim.fn.stdpath("data") .. "/dooing_todos.json",
                save_path = "$HOME/nutstore/config/dooing_todos.json",
                keymaps = {
                    open_project_todo = "<space>td",
                    create_nested_task = "<space>tn",
                },
            })
        end,
    },
    -- {
    -- "Dan7h3x/LazyDo",
    -- branch = "main",
    -- cmd = { "LazyDoToggle", "LazyDoPin", "LazyDoToggleStorage" },
    -- keys = { -- recommended keymap for easy toggle LazyDo in normal and insert modes (arbitrary)
    -- {
    -- "<F2>",
    -- "<ESC><CMD>LazyDoToggle<CR>",
    -- mode = { "n", "i" },
    -- },
    -- },
    -- event = "VeryLazy",
    -- opts = {
    -- -- your config here
    -- storage = {
    -- global_path = "~/nutstore/lazydo/mytasks.json",
    -- },
    -- },
    -- },

    -- {
    --     -- sudo apt install imagemagick
    --     -- sudo apt install libmagickwand-dev
    --     "3rd/image.nvim",
    --     build = false,
    --     config = function()
    --         require("image").setup({
    --             backend = "kitty",
    --             processor = "magick_rock", -- or "magick_cli"
    --             integrations = {
    --                 markdown = {
    --                     enabled = true,
    --                     clear_in_insert_mode = false,
    --                     download_remote_images = true,
    --                     only_render_image_at_cursor = false,
    --                     floating_windows = false, -- if true, images will be rendered in floating markdown windows
    --                     filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
    --                 },
    --                 neorg = {
    --                     enabled = true,
    --                     filetypes = { "norg" },
    --                 },
    --                 typst = {
    --                     enabled = true,
    --                     filetypes = { "typst" },
    --                 },
    --                 html = {
    --                     enabled = false,
    --                 },
    --                 css = {
    --                     enabled = false,
    --                 },
    --             },
    --             max_width = nil,
    --             max_height = nil,
    --             max_width_window_percentage = nil,
    --             max_height_window_percentage = 50,
    --             window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
    --             window_overlap_clear_ft_ignore = {
    --                 "cmp_menu",
    --                 "cmp_docs",
    --                 "snacks_notif",
    --                 "scrollview",
    --                 "scrollview_sign",
    --             },
    --             editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
    --             tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
    --             hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
    --         })
    --     end,
    -- },
    -- lazy.nvim
    -- {
    -- "lowitea/aw-watcher.nvim",
    -- opts = { -- required, but can be empty table: {}
    -- -- add any options here
    -- -- for example:
    -- aw_server = {
    -- host = "127.0.0.1",
    -- port = 5600,
    -- },
    -- },
    -- },
}
